package com.wicket.okrpbff.biz.service;


import com.wicket.okrpbff.biz.service.dto.req.*;
import com.wicket.okrpbff.biz.service.dto.res.*;
import com.wicket.okrapp.integration.FwAppCycleTypeClient;
import com.wicket.okrapp.integration.dto.QueryCycleTypeDetailRespDto;
import com.wicket.okrapp.integration.dto.QueryCycleTypeDetailReqDto;
import com.wicket.okrframework.integration.FwBaseInductionRecordClient;
import com.wicket.okrframework.integration.dto.QueryInductionRecordInfoDetailComRespDto;
import com.wicket.okrframework.integration.dto.QueryInductionRecordInfoDetailComReqDto;
import com.wicket.okrapp.integration.dto.AddCycleTypeRespDto;
import com.wicket.okrapp.integration.dto.AddCycleTypeReqDto;
import com.wicket.okrpbff.common.exception.Assert;
import com.wicket.okrpbff.common.util.CommonFunctionHelper;
import com.wicket.okrapp.integration.dto.UpdateCycleTypeRespDto;
import com.wicket.okrapp.integration.dto.UpdateCycleTypeReqDto;
import com.wicket.okrapp.integration.dto.QueryCycleTypeListRespDto;
import com.wicket.okrapp.integration.dto.QueryCycleTypeListReqDto;
import com.wicket.okrframework.integration.dto.BatchQueryInductionRecordListComRespDto;
import com.wicket.okrframework.integration.dto.BatchQueryInductionRecordListComReqDto;
import java.util.stream.Collectors;
import cn.hutool.core.collection.CollectionUtil;
import com.wicket.okrapp.integration.dto.AddCycleTypeInstanceRespDto;
import com.wicket.okrapp.integration.dto.AddCycleTypeInstanceReqDto;
import com.wicket.okrapp.integration.dto.UpdateCycleTypeInstanceRespDto;
import com.wicket.okrapp.integration.dto.UpdateCycleTypeInstanceReqDto;
import com.wicket.okrapp.integration.dto.QueryCycleTypeInstanceListRespDto;
import com.wicket.okrapp.integration.dto.QueryCycleTypeInstanceListReqDto;
import com.wicket.okrpbff.biz.service.dto.common.BffCycleTypeInstanceDto;
import cn.hutool.core.bean.BeanUtil;
import com.wicket.okrapp.integration.dto.AddCycleTypeInstanceRelationshipRespDto;
import com.wicket.okrapp.integration.dto.AddCycleTypeInstanceRelationshipReqDto;
import com.wicket.okrapp.integration.dto.QueryCycleTypeInstanceRelationshipListRespDto;
import com.wicket.okrapp.integration.dto.QueryCycleTypeInstanceRelationshipListReqDto;
import com.wicket.okrpbff.biz.service.dto.common.BffCycleTypeInstanceRelationshipDto;
import com.wicket.okrapp.integration.dto.AddCycleRespDto;
import com.wicket.okrapp.integration.dto.AddCycleReqDto;
import com.wicket.okrapp.integration.dto.UpdateCycleRespDto;
import com.wicket.okrapp.integration.dto.UpdateCycleReqDto;
import com.wicket.okrapp.integration.dto.QueryCycleListRespDto;
import com.wicket.okrapp.integration.dto.QueryCycleListReqDto;
import com.wicket.okrapp.integration.dto.QueryCycleDetailComRespDto;
import com.wicket.okrapp.integration.dto.QueryCycleDetailComReqDto;
import com.wicket.okrapp.integration.dto.BatchUpdateCycleTypeSortRespDto;
import com.wicket.okrapp.integration.dto.BatchUpdateCycleTypeSortReqDto;
import com.wicket.okrapp.integration.dto.CycleTypeDto;
import com.wicket.okrpbff.biz.service.dto.common.BffCycleTypeDto;
import com.wicket.okrapp.integration.dto.QueryCycleSortListRespDto;
import com.wicket.okrapp.integration.dto.QueryCycleSortListReqDto;
import com.wicket.okrapp.integration.dto.QueryTenantCycleListRespDto;
import com.wicket.okrapp.integration.dto.QueryTenantCycleListReqDto;
import com.wicket.okrapp.integration.dto.QueryTenantCycleTypeListRespDto;
import com.wicket.okrapp.integration.dto.QueryTenantCycleTypeListReqDto;
import com.wicket.okrpbff.biz.service.dto.common.BffTenantCycleDto;
import com.wicket.okrpbff.biz.service.dto.common.BffTenantCycleTypeDto;
import com.wicket.okrapp.integration.dto.AddPlatformCycleComRespDto;
import com.wicket.okrapp.integration.dto.AddPlatformCycleComReqDto;
import com.wicket.okrapp.integration.dto.UpdatePlatformCycleComRespDto;
import com.wicket.okrapp.integration.dto.UpdatePlatformCycleComReqDto;
import com.wicket.okrapp.integration.dto.AddSpaceCycleComRespDto;
import com.wicket.okrapp.integration.dto.AddSpaceCycleComReqDto;
import com.wicket.okrapp.integration.dto.UpdateTenantCycleComRespDto;
import com.wicket.okrapp.integration.dto.UpdateTenantCycleComReqDto;
import com.wicket.okrapp.integration.dto.DeletePlatformCycleRespDto;
import com.wicket.okrapp.integration.dto.DeletePlatformCycleReqDto;

/**
 * @author ：
 * @date ：
 *
 *
 * @version 1.0
 */
public interface CycleTypeService {
    /**
   * B3-4新增周期类型（平台）
   */
    BffAddCycleTypeRespDto addCycleType(BffAddCycleTypeReqDto reqDto);

    /**
   * B3-4查询周期详情(平台)
   */
    BffQueryCycleDetailRespDto queryCycleDetail(BffQueryCycleDetailReqDto reqDto);

    /**
   * B3-4查询周期类型详情（平台）
   */
    BffQueryCycleTypeDetailRespDto queryCycleTypeDetail(BffQueryCycleTypeDetailReqDto reqDto);

    /**
   * B3-4查询周期类型排序列表（平台）
   */
    BffQueryCycleTypeSortListRespDto queryCycleTypeSortList(BffQueryCycleTypeSortListReqDto reqDto);

    /**
   * B3-4批量修改周期类型排序（平台）
   */
    BffBatchUpdateCycleTypeSortRespDto batchUpdateCycleTypeSort(BffBatchUpdateCycleTypeSortReqDto reqDto);

    /**
   * B3-4查询周期列表（平台）
   */
    BffQueryCycleListRespDto queryCycleList(BffQueryCycleListReqDto reqDto);

    /**
   * B3-4修改平台周期
   */
    BffUpdateCycleRespDto updateCycle(BffUpdateCycleReqDto reqDto);

    /**
   * B3-4新增周期（平台）
   */
    BffAddCycleRespDto addCycle(BffAddCycleReqDto reqDto);

    /**
   * B3-4查询可存档周期类型条件（平台）
   */
    BffArchiveCycleTypeRespDto archiveCycleType(BffArchiveCycleTypeReqDto reqDto);

    /**
   * B3-4查询关联的父周期类型关系列表（平台）
   */
    BffQueryCycleTypeInstanceRelationshipListRespDto queryCycleTypeInstanceRelationshipList(BffQueryCycleTypeInstanceRelationshipListReqDto reqDto);

    /**
   * B3-4新增工作周期类型关系 (平台)
   */
    BffAddCycleTypeInstanceRelationshipRespDto addCycleTypeInstanceRelationship(BffAddCycleTypeInstanceRelationshipReqDto reqDto);

    /**
   * B3-4查询周期类型实例列表（平台）
   */
    BffQueryCycleTypeInstanceListRespDto queryCycleTypeInstanceList(BffQueryCycleTypeInstanceListReqDto reqDto);

    /**
   * B3-4修改周期类型实例（平台）
   */
    BffUpdateCycleTypeInstanceRespDto updateCycleTypeInstance(BffUpdateCycleTypeInstanceReqDto reqDto);

    /**
   * B3-4新增周期类型实例（平台）
   */
    BffAddCycleTypeInstanceRespDto addCycleTypeInstance(BffAddCycleTypeInstanceReqDto reqDto);

    /**
   * B3-4查询周期类型列表（平台）
   */
    BffQueryCycleTypeListRespDto queryCycleTypeList(BffQueryCycleTypeListReqDto reqDto);

    /**
   * B3-4修改周期类型（平台）
   */
    BffUpdateCycleTypeRespDto updateCycleType(BffUpdateCycleTypeReqDto reqDto);
/**
   * B3-4查询关联的子周期类型关系列表(管理)
   */
    BffQueryRelevancySubCycleTypeListRespDto queryRelevancySubCycleTypeList(BffQueryRelevancySubCycleTypeListReqDto reqDto);
/**
   * B3批量查询租户周期(管理)
   */
    BffBatchQueryTenantCycleRespDto batchQueryTenantCycle(BffBatchQueryTenantCycleReqDto reqDto);
/**
   * B3查询租户周期类型列表ByCodes(管理)
   */
    BffBatchQueryTenantCycleTypeListByCodesRespDto batchQueryTenantCycleTypeListByCodes(BffBatchQueryTenantCycleTypeListByCodesReqDto reqDto);
/**
   * B3新增租户周期(管理)
   */
    BffAddTenantCycleRespDto addTenantCycle(BffAddTenantCycleReqDto reqDto);
/**
   * B3修改租户周期(管理)
   */
    BffUpdateTenantCycleRespDto updateTenantCycle(BffUpdateTenantCycleReqDto reqDto);
/**
   * B3删除平台周期(管理)
   */
    BffDeletePlatformCycleRespDto deletePlatformCycle(BffDeletePlatformCycleReqDto reqDto);
    //
}

